// \u4e00-\u9fa5] 中文验证规则

import validate from 'wechat-validate'

Page({
  behaviors: [validate],
  data: {
    point: '',
    building: '',
    room: '',
    name: '',
    gender: 1, // 1: 男, 0: 女
    mobile: '',
    idcardFrontUrl: '',
    // idcardFrontUrl: '/static/images/avatar_1.jpg',
    idcardBackUrl: '',
    // idcardBackUrl: '/static/images/avatar_2.jpg',
  },

  rules: {
    name: [
      { required: true, message: '业主姓名不能为空!' },
      { pattern: /^[\u4e00-\u9fa5]{2,5}$/, message: '业主姓名只能为中文!' },
    ],
    mobile: [
      { required: true, message: '业主手机号不能为空!' },
      { pattern: /^1[3-8]\d{9}$/, message: '请填写正确的手机号!' },
    ],
    idcardFrontUrl: [{ required: true, message: '请上传身份证照片面!' }],
    idcardBackUrl: [{ required: true, message: '请上传身份证国徽面!' }],
  },

  async uploadIdCardImage(e) {
    console.log('[ e ] >', e.mark.type)

    const res1 = await wx.chooseMedia({
      count: 1,
      mediaType: ['image'],
    })

    const { tempFilePath } = res1.tempFiles[0]

    // 第二个参数 type 不能取默认值 avatar，否则会当作用户的头像
    const res2 = await wx.http.uploadFile(tempFilePath, 'idcard')

    this.setData({
      [e.mark.type]: res2.data.url,
    })
  },

  async goList() {
    // 校验表单

    if (!this.validate()) return

    // 发请求提交数据

    // eslint-disable-next-line no-unused-vars
    const { __webviewId__, ...data } = this.data

    await wx.http({
      method: 'POST',
      url: '/room',
      data,
    })

    wx.utils.toast('添加成功！')

    // 会清空页面栈，直接跳转至目标页（之前的列表页面实例会销毁，在onLoad中加载列表数据没问题）
    // wx.reLaunch({
    //   url: '/house_pkg/pages/list/index',
    // })

    // 后退4步至列表页（之前的列表页面实例不会销毁，需要用onShow重新加载列表数据）
    wx.navigateBack({ delta: 4 })
  },
  removePicture(ev) {
    // 移除图片的类型（身份证正面或反面）
    this.setData({ [ev.mark.type]: '' })
  },

  onLoad({ point, building, room }) {
    console.log('[ point, building, room ] >', point, building, room)

    this.setData({
      point,
      building,
      room,
    })
  },
})
